#pragma once
#include <list>
#include <mutex>
#include <QThread>
#include "IVideoCall.h"
struct AVPacket;
class XDecode;
class XDecodeThread:public QThread
{
public:
	XDecodeThread();
	virtual ~XDecodeThread();
	virtual void Push(AVPacket *pkt);
	virtual AVPacket *Pop();


	virtual void Clear();
	//清理资源，停止线程
	virtual void Close();


	int maxList = 200;
	bool isExit = false;
	
protected:
	std::list <AVPacket *> packs;
	std::mutex mux;
	XDecode *decode = 0;
	
};

